home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 May & June / Amiga-CD 1996 #5-6.iso / pd-disketten / dms-gepackt / 3_96 / apd-3-96-2.dms / apd-3-96-2.adf / Tips&Tricks / FAX.rexx next >
OS/2 REXX Batch file  |  1996-02-26  |  5KB  |  161 lines

  1. /* AREXX-Script zum Faxen von GoldED3 aus:
  2.    Es muß ein Block markiert sein (nur der Block wird in ein Fax umgewandelt)
  3.    Das Programm list die Faxnummern aus dem "Telefonbuch"
  4.    (Datei GPFax:GPFax_pho und zeigt sie in einem Listview-Requester an. */
  5.  
  6. options results
  7.  
  8. if ~ show("L","rexxsupport.library") then do
  9.    if ~ addlib("rexxsupport.library",0,-30,0) then exit
  10. end
  11.  
  12. address "GOLDED.1"
  13. 'LOCK CURRENT'
  14. 'QUERY MARKED'
  15. m=result
  16. if m='FALSE' then do
  17.    'REQUEST TITLE "FAX" BODY "Es muß ein Block markiert sein!" BUTTON "ABBRUCH" HIDE=FALSE'
  18.    signal ende
  19. end
  20.  
  21. 'REQUEST TITLE "FAX" BODY "Name für die Fax-Datei:" BUTTON "WEITER|ABBRUCH" STRING'
  22. datei=result
  23. if datei="" | rc>0 then signal ende
  24. datei="T:"||datei
  25. 'SAVE BLOCK NAME '||d2c(34)||datei||d2c(34)
  26.  
  27. address command
  28. if ~ show("P","REXX_GPFAX") then do
  29.    "c:run >nil: GPFAX:GPFAX -Z -Q -F5"
  30.    do while ~ show("P","REXX_GPFAX")
  31.       "c:wait 1"
  32.    end
  33. end
  34.  
  35. address "REXX_GPFAX"
  36. 'CONVERT '||datei
  37. r=rc;na=result
  38. tx="Faxdatei|"||na||"|anzeigen?"
  39.  
  40. /* --- Fax anzeigen und ev. senden --- */
  41. if r=0 then do
  42.    address "GOLDED.1"
  43.    'REQUEST TITLE "FAX" BODY '||d2c(34)||tx||d2c(34) BUTTON "JA|NEIN"
  44.    r=result
  45.    if r~=0 then do
  46.       address "REXX_GPFAX"
  47.       'VIEWFAX '||na
  48.    end
  49.    address command
  50.    "C:DELETE "||datei||" quiet"
  51.    address "GOLDED.1"
  52.  
  53.    e=open("phonebook","GPFAX:gpfax_pho",READ)
  54.    if e=0 then signal ende
  55.    nr.=""
  56.    na.=""
  57.    ko.=""
  58.    i=1
  59.    do while eof("phonebook")=0
  60.       eintrag=readch("phonebook",526)
  61.       eintrag=right(eintrag,518)
  62.       na.i=compress(left(eintrag,40),d2c(0)||" ")
  63.       eintrag=right(eintrag,478)
  64.       nr.i=compress(left(eintrag,21),d2c(0))
  65.       i=i+1
  66.    end
  67.    anzahl=i-2
  68.    e=open("out","T:faxlist.rexx",WRITE)
  69.    if e=0 then signal ende
  70.    e=writeln("out","/* */")
  71.    e=writeln("out","address 'GOLDED.1'")
  72.    e=writeln("out","options results")
  73.    e=writeln("out","'REQLIST TITLE Liste_der_Faxnummern ENTRY ',")
  74.    do i=1 to anzahl-1
  75.       e=writeln("out",d2c(34)||na.i||d2c(34)||",")
  76.    end
  77.    e=writeln("out",d2c(34)||na.anzahl||d2c(34))
  78.    e=writeln("out","if rc=0 then do")
  79.    tx='wahl=result'||d2c(10)||"wahl=wahl+1"||d2c(10)
  80.    tx=tx||'e=open("tmp","T:faxnummer",WRITE)'||d2c(10)
  81.    tx=tx||'e=writeln("tmp",wahl)'||d2c(10)
  82.    tx=tx||'e=close("tmp")'||d2c(10)
  83.    tx=tx||'end'
  84.    e=writeln("out",tx)
  85.    e=close("out")
  86.    e=close("phonebook")
  87.    address command
  88.    'c:RX T:faxlist.rexx'
  89.    address "GOLDED.1"
  90.    e=open("in","T:Faxnummer",READ)
  91.    if e=0 then signal ende0
  92.    nn=readln("in")
  93.    faxnr=nr.nn               /* hier die Fax-Nummer aus der Liste! */
  94.    e=close("in")
  95.    if faxnr~="" then do
  96.       tx=d2c(34)||"Senden an "||na.nn||"|(Fax-Nummer: "||faxnr||")?"||d2c(34)
  97.       'REQUEST TITLE "FAX" BODY '||tx BUTTON "SENDEN|ABBRECHEN"
  98.       r=result
  99.       if r~=0 then do
  100.          address "REXX_GPFAX"
  101.          'SENDFAX' na 'TO' faxnr
  102.          if rc=0 then do
  103.             'REPORTLOG T 5'
  104.             zeit=result
  105.             'REPORTLOG T 7'
  106.             seiten=result
  107.             'REPORTLOG T 6'
  108.             dauer=result
  109.             tx="FAX erfolgreich gesendet!|Empfänger: "||na.nn
  110.             tx=tx||"|Zeit: "||zeit
  111.             tx=tx||"|Übertragene Seiten: "||seiten
  112.             tx=tx||"|Übertragungsdauer: "||dauer||" s"
  113.             /* --- Dateilänge berechnen --- */
  114.             bytes=0
  115.             do i=1 to seiten
  116.                fxnr=right(i,2,"0")
  117.                fx=statef(na||".p"||fxnr)
  118.                faxlen=subword(fx,2,1)
  119.                bytes=bytes+faxlen
  120.             end
  121.             tx=tx||"|Fax-Datei(en): "||bytes||" bytes"
  122.             tx=d2c(34)||tx||d2c(34)
  123.             address "GOLDED.1"
  124.             'REQUEST TITLE "FAX" BODY '||tx BUTTON "OK"
  125.          end
  126.          /* --- Fehler beim Senden --------------------- */
  127.          else do
  128.             address "GOLDED.1"
  129.             'REQUEST TITLE "FAX" BODY "Beim FAX-Versand|ist ein Fehler aufgetreten!" BUTTON "OK"'
  130.             signal ende
  131.          end
  132.       end
  133.    end
  134. end
  135.  
  136. /* --- Fehler beim Konvertieren in eine Fax-Datei --- */
  137. else do
  138.    address "GOLDED.1"
  139.    'REQUEST TITLE "FAX" BODY "Fehler beim Erzeugen der FAX-Datei"'
  140.    signal ende
  141. end
  142.  
  143. /* --- Fertig! --- */
  144. ende0:
  145. 'REQUEST TITLE "FAX" BODY "FAX erstellen/senden|abgeschlossen!" BUTTON "OK"'
  146.  
  147. ende:
  148.    address "GOLDED.1"
  149.    'UNLOCK'
  150.    if exists("T:Faxlist.rexx") then do
  151.       'FILE NAME "T:Faxlist.rexx" DELETE FORCE'
  152.    end
  153.    if exists("T:Faxnummer") then do
  154.       'FILE NAME "T:Faxnummer" DELETE FORCE'
  155.    end
  156.    if show("P","REXX_GPFAX") then do
  157.       address "REXX_GPFAX"
  158.       'QUITFAX'
  159.    end
  160.    exit
  161.